home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Franz PD / Franz PD Disk #026 (19xx)(Amiga User Group Deutschland e.V.).zip / Franz PD Disk #026 (19xx)(Amiga User Group Deutschland e.V.).adf / AMIGA-Superhirn / Superhirn (.txt) < prev    next >
AmigaBASIC Source Code  |  1988-12-10  |  6KB  |  245 lines

  1. 'SUPERHIRN © by Wolfram Frech
  2. '               Haidaerstr.3
  3. '               5308 Rheinbach
  4. GOSUB Menue
  5. ON MENU GOSUB Menubearbeitung
  6. MENU ON
  7.  
  8. nummer=1:DIM position(12,5)
  9.  
  10. SCREEN 1,320,256,4,1
  11. WINDOW 1,"Superhirn     by Wolfram Frech",,16,1
  12.  
  13. initbild:
  14.   FOR a=0 TO 11:PALETTE a,0,0,0:NEXT:'alles schwarz
  15.   COLOR 1,2
  16.   LINE (16*8,2*8)-(37*8,30*8),2,bf
  17.   LOCATE 3,1
  18.   FOR a=12 TO 1 STEP -1
  19.     PRINT:PRINT TAB(17);a:'Zahlen schreiben
  20.   NEXT
  21.   LOCATE 29,28:PRINT "A B C D E"
  22.   CIRCLE (27*8+3,26*8-5),5,1,,,1:PAINT STEP(0,0)
  23.   DIM kreis%(46):GET (27*8+3-5,26*8-5-5)-(27*8+3+5,26*8-5+5),kreis%
  24.   FOR a=1 TO 12
  25.     FOR b=1 TO 5
  26.       PUT ((25+2*b)*8-2,3+2*a*8+3),kreis%,PSET:'braune Kreise setzen
  27.     NEXT
  28.   NEXT
  29.   c=2
  30.   FOR a=1 TO 2
  31.     FOR b=1 TO 4
  32.       c=c+1
  33.       CIRCLE (30*b-15,30*a),10,c,,,1:PAINT (30*b-15,30*a),c:'Auswahlkreise
  34.     NEXT
  35.   NEXT
  36.   LINE (3,18)-(27,42),10,b:farbe=3
  37.  
  38.   LINE (34,98)-(98,122),10,bf
  39.   LINE (32,96)-(96,120),11,bf
  40.   COLOR 9,11:LOCATE 14,6:PRINT "Fertig"
  41.  
  42.   LINE (2,135)-(124,135),11
  43.   COLOR 10,0:LOCATE 19,2:PRINT "Mit Mehrfachen":doppel=0
  44.   LINE (8,168)-(40,192),10,b:PAINT (9,169),11,10:LINE (64,168)-(112,192),10,b
  45.   COLOR 9,11:LOCATE 23,3:PRINT "Ja":COLOR 10,0:LOCATE 23,10:PRINT "Nein"
  46.   
  47.   LINE (2,210)-(58,234),10,bf:LINE (74,210)-(122,234),10,bf
  48.   LINE (0,208)-(56,232),11,bf:LINE (72,208)-(120,232),11,bf
  49.   COLOR 4:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL
  50.   COLOR 9,11:LOCATE 28,2:PRINT "Start":LOCATE 28,11:PRINT "Stop" 
  51.   FOR a=0 TO 11:'Farbwerte einlesen
  52.     READ c1,c2,c3
  53.     PALETTE a,c1/15,c2/15,c3/15
  54.   NEXT
  55.  
  56. einstellungen:
  57. WHILE MOUSE(0)<=0
  58.   SLEEP
  59. WEND
  60. IF MOUSE(4)>=168 AND MOUSE(4)<=192 THEN
  61.   IF MOUSE(3)>=8 AND MOUSE(3)<=40 THEN
  62.     doppel=0
  63.     COLOR 11:AREA (9,169):AREA (39,169):AREA (39,191):AREA (9,191):AREAFILL
  64.     COLOR 0:AREA (65,169):AREA (111,169):AREA (111,191):AREA (65,191):AREAFILL
  65.     COLOR 9,11:LOCATE 23,3:PRINT "Ja":COLOR 10,0:LOCATE 23,10:PRINT "Nein"
  66.   END IF
  67.   IF MOUSE(3)>=64 AND MOUSE(3)<=112 THEN
  68.     doppel=1
  69.     COLOR 0:AREA (9,169):AREA (39,169):AREA (39,191):AREA (9,191):AREAFILL
  70.     COLOR 11:AREA (65,169):AREA (111,169):AREA (111,191):AREA (65,191):AREAFILL
  71.     COLOR 10,0:LOCATE 23,3:PRINT "Ja":COLOR 9,11:LOCATE 23,10:PRINT "Nein"
  72.   END IF
  73. END IF
  74. IF MOUSE(4)>=208 AND MOUSE(4)<=232 THEN
  75.   IF MOUSE(3)>=0 AND MOUSE(3)<=56 THEN
  76.     COLOR 4:AREA (29,228):AREA (27,226):AREA (27,230):AREAFILL
  77.     COLOR 11:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL
  78.     GOTO start
  79.   END IF
  80. END IF
  81. GOTO einstellungen  
  82.  
  83. start:
  84.   'zufall kreieren
  85.   RANDOMIZE TIMER
  86.   IF doppel=0 THEN
  87.     FOR a=1 TO 5
  88.       zufall(a)=INT(RND*(8))+3:vergeben(a)=zufall(a)
  89.     NEXT
  90.   END IF
  91.   IF doppel=1 THEN
  92.     FOR a=1 TO 5
  93.       zufall(a)=INT(RND*(8))+3:vergeben(a)=zufall(a)
  94.       doppeltest:
  95.         FOR b=1 TO a-1
  96.           IF zufall(a)=zufall(b) THEN
  97.             zufall(a)=INT(RND*(8))+3:vergeben(a)=zufall(a):GOTO doppeltest
  98.           END IF
  99.         NEXT
  100.     NEXT
  101.   END IF   
  102.   nummer=1
  103.  
  104. maus:
  105. WHILE MOUSE(0)<=0
  106.   SLEEP
  107. WEND
  108. IF MOUSE(4)>=208 AND MOUSE(4)<=232 THEN
  109.   IF MOUSE(3)>=72 AND MOUSE(3)<=120 THEN
  110.     COLOR 11:AREA (29,228):AREA (27,226):AREA (27,230):AREAFILL
  111.     COLOR 4:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL
  112.     GOTO deckauf
  113.   END IF
  114. END IF
  115. IF MOUSE(3)>214 THEN
  116.   FOR a=1 TO 5
  117.     IF (25+2*a)*8-2<MOUSE(3) AND MOUSE(3)<(25+2*a)*8+8 THEN
  118.       PAINT ((25+2*a)*8+3,16*(13-nummer)+11),farbe,2
  119.       buchst=a
  120.       position(nummer,buchst)=farbe
  121.     END IF
  122.   NEXT
  123.   GOTO maus
  124. END IF
  125. IF MOUSE(3)>=34 AND MOUSE(3)<=98 AND MOUSE(4)>=98 AND MOUSE(4)<=122 THEN
  126.   FOR b=1 TO 5:IF position(nummer,b)=0 THEN BEEP:GOTO maus
  127.   NEXT
  128.   COLOR 11:AREA (29,228):AREA (27,226):AREA (27,230):AREAFILL
  129.   GOTO vergleich
  130. END IF
  131. c=farbe:farbe=POINT(MOUSE(3),MOUSE(4)):IF farbe<3 THEN farbe=c:GOTO maus
  132. IF c<7 THEN LINE (30*(c-2)-27,18)-(30*(c-2)-3,42),0,b :ELSE LINE (30*(c-6)-27,48)-(30*(c-6)-3,72),0,b
  133. IF farbe<7 THEN LINE (30*(farbe-2)-27,18)-(30*(farbe-2)-3,42),10,b :ELSE LINE (30*(farbe-6)-27,48)-(30*(farbe-6)-3,72),10,b
  134. GOTO maus
  135.  
  136. vergleich:
  137. zaehler=1
  138. FOR a=1 TO 5
  139.   IF position(nummer,a)=zufall(a) THEN
  140.     position(nummer,a)=1:vergeben(a)=0
  141.     CIRCLE ((19+zaehler)*8+3,16*(13-nummer)+11),3,10,,,1
  142.     PAINT STEP(0,0),10
  143.     zaehler=zaehler+1
  144.   END IF
  145. NEXT
  146. IF zaehler=6 THEN deckauf
  147. FOR a=1 TO 5
  148.   FOR b=1 TO 5
  149.   IF position(nummer,a)=vergeben(b) THEN
  150.     position(nummer,a)=1:vergeben(b)=0
  151.     CIRCLE ((19+zaehler)*8+3,16*(13-nummer)+11),3,9,,,1
  152.     PAINT STEP(0,0),9
  153.     zaehler=zaehler+1
  154.   END IF
  155.   NEXT
  156. NEXT
  157. FOR a=1 TO 5:vergeben(a)=zufall(a):NEXT
  158. nummer=nummer+1
  159. IF nummer=13 THEN COLOR 9,0:LOCATE 1,1:PRINT "Leider nicht geschafft!":GOTO deckauf
  160. 'Blinkzeichen
  161. FOR a=1 TO 4
  162.   COLOR 11:AREA (29,228):AREA (27,226):AREA (27,230):AREAFILL
  163.   FOR b=1 TO 500:NEXT
  164.   COLOR 4:AREA (29,228):AREA (27,226):AREA (27,230):AREAFILL
  165.   FOR b=1 TO 500:NEXT
  166. NEXT
  167. GOTO maus
  168.  
  169. deckauf:
  170.   COLOR 11:AREA (29,228):AREA (27,226):AREA (27,230):AREAFILL
  171.   COLOR 4:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL
  172.   FOR a=1 TO 5
  173.     CIRCLE ((25+2*a)*8+3,7),5,zufall(a),,,1:PAINT STEP(0,0),zufall(a)
  174.   NEXT
  175.  'blinken
  176.   FOR a=1 TO 5
  177.     LINE (212,0)-(290,14),0,b
  178.     FOR b=1 TO 1000:NEXT
  179.     LINE (212,0)-(290,14),10,b
  180.     FOR b=1 TO 1000:NEXT
  181.   NEXT
  182.   COLOR 9,0:LOCATE 1,1:PRINT SPACE$(23)
  183.   LOCATE 1,1:PRINT "Linke Maustaste!"
  184.   WHILE MOUSE(0)=0
  185.     SLEEP
  186.   WEND
  187.   COLOR 11,0:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL
  188. defaults:
  189.   LOCATE 1,1:PRINT SPACE$(16)
  190.   LINE (212,0)-(290,14),0,bf
  191.   LINE (160,24)-(206,206),2,bf
  192.   nummer=1
  193.   FOR a=1 TO 12
  194.     FOR b=1 TO 5
  195.       position(a,b)=0
  196.     NEXT
  197.   NEXT
  198.   FOR a=1 TO 12
  199.     FOR b=1 TO 5
  200.       PUT ((25+2*b)*8-2,3+2*a*8+3),kreis%,PSET:'braune Kreise setzen
  201.     NEXT
  202.   NEXT
  203. FOR a=1 TO 4
  204.   COLOR 11:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL
  205.   FOR b=1 TO 500:NEXT
  206.   COLOR 4:AREA (95,227):AREA (97,227):AREA (97,229):AREA (95,229):AREAFILL
  207.   FOR b=1 TO 500:NEXT
  208. NEXT
  209. GOTO einstellungen
  210.  
  211. '****************************************
  212.  
  213. Menue:
  214.   MENU 1,0,1,"Superhirn"
  215.   MENU 1,1,1,"Info     "
  216.   MENU 1,2,1,"Ende     "
  217.   MENU 2,0,1,""
  218.   MENU 3,0,1,""
  219.   MENU 4,0,1,""
  220. RETURN
  221.  
  222. Menubearbeitung:
  223.   IF MENU(0)=1 THEN
  224.     IF MENU(1)=1 THEN GOSUB Info
  225.     IF MENU(1)=2 THEN SYSTEM
  226.   END IF
  227. RETURN
  228.  
  229. Info:
  230.   WINDOW 2,"Superhirn Info Fenster",(0,0)-(311,80),22,1
  231.   PRINT "Superhirn geschrieben in Amiga-Basic"
  232.   PRINT "von Wolfram Frech"
  233.   PRINT :PRINT "Dieses Programm ist Public Domain"
  234.   PRINT "Für mehr Infos siehe das Superhirn.Doc"
  235.   PRINT "File."
  236.   PRINT :PRINT "Maus-Taste !"
  237.   WHILE MOUSE(0)=0
  238.   WEND
  239.   WINDOW CLOSE 2
  240. RETURN
  241.  
  242. DATA 7,7,7,4,1,0,6,1,0
  243. DATA 0,4,13,13,0,0,0,10,0,15,14,0,15,7,0,10,7,0,15,15,15,0,0,0
  244. DATA 0,5,10
  245.